#pragma once

#include "LuaLink_SceneManager.h"
#include "LuaLink_Entity.h"
#include <luabind/luabind.hpp>

class LuaLink_SceneNode
{
public:
	Ogre::SceneNode* mNode;
	LuaLink_SceneNode* mParent;

	LuaLink_SceneNode(const char* name);
	LuaLink_SceneNode(LuaLink_SceneNode* parent, const char* name);
	virtual ~LuaLink_SceneNode(void);

	void lua_attach(LuaLink_Entity* entity);
	void lua_detach(const char* name);
	LuaLink_SceneNode* lua_createChild(const char* name);
	void lua_position(Ogre::Vector3* vec);
	void lua_translate(Ogre::Vector3* vec);
	void lua_roll(Ogre::Real angle);
	void lua_pitch(Ogre::Real angle);
	void lua_yaw(Ogre::Real angle);
	void lua_rotate(Ogre::Real x, Ogre::Real y, Ogre::Real z);
	void lua_scale(Ogre::Vector3* vec);
	Ogre::Vector3* lua_getPosition();
};
